package prop;

import java.io.Serializable;
import java.util.Vector;

/**
 *
 * @author pol
 */

public class Mesa implements Serializable {
    protected Baraja bar;
    protected Vector<Jugador> jug;
    protected int nJug;
    protected int nBar, nCom;

    public Mesa() {
      // constructor que no hace nada, pero necesario para hacer una subclase
    }

    public Mesa(int numBarajas, int numComodines, int numJugadores) {
        nBar = numBarajas;
        nCom = numComodines;
        prepararBaraja();
        jug = new Vector<Jugador>();
        nJug = numJugadores;
    }

    public Carta sacarCarta() {
        return bar.sacarCarta();
    }

    public boolean anadirJugador(Jugador j) {
        if (nJug > jug.size()) {
            jug.add(j);
            return true;
        }
        return false;
    }

    public Jugador quitarJugador(Jugador j) {
        jug.remove(j);
        return j;
    }

    public Baraja getBaraja() {
        return bar;
    }

    public Vector<Jugador> getJugadores() {
        return jug;
    }

    public Jugador getJugador(int index) {
        return jug.get(index);
    }

    public void prepararBaraja() {
        bar = new Baraja(nBar, nCom);
        bar.barajar();
    }

    public int getNumJugadores() {
        return jug.size();
    }
}
